﻿using System;
namespace Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr {
    
    
    public partial class VallasvaraPiirangud : global::Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.IVallasvaraPiirangud {
        
        private string @__pEALKIRI;
        
        private VallasvaraPiirangud.IPIIRANGUDType @__pIIRANGUD;
        
        public VallasvaraPiirangud() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public VallasvaraPiirangud(string @pEALKIRI, VallasvaraPiirangud.IPIIRANGUDType @pIIRANGUD) {
            this.@__pEALKIRI = @pEALKIRI;
            this.@__pIIRANGUD = @pIIRANGUD;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public VallasvaraPiirangud(VallasvaraPiirangud.IPIIRANGUDType @pIIRANGUD) {
            this.@__pIIRANGUD = @pIIRANGUD;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected VallasvaraPiirangud(IVallasvaraPiirangud @vallasvaraPiirangud) {
            this.@__pEALKIRI = @vallasvaraPiirangud.PEALKIRI;
            this.@__pIIRANGUD = @vallasvaraPiirangud.PIIRANGUD;
        }
        
        public virtual string PEALKIRI {
            get {
                return this.@__pEALKIRI;
            }
            set {
                this.@__pEALKIRI = value;
            }
        }
        
        public virtual VallasvaraPiirangud.IPIIRANGUDType PIIRANGUD {
            get {
                return this.@__pIIRANGUD;
            }
            set {
                this.@__pIIRANGUD = value;
            }
        }
        
        public partial class PIIRANGUDType : IPIIRANGUDType {
            
            private string @__tYHIVASTUS;
            
            private string @__lIIK;
            
            private string @__aLGUSKP;
            
            private string @__sEADJAPANDIPIDAJA;
            
            private string @__sEOTUDISIKUD;
            
            public PIIRANGUDType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public PIIRANGUDType(string @tYHIVASTUS, string @lIIK, string @aLGUSKP, string @sEADJAPANDIPIDAJA, string @sEOTUDISIKUD) {
                this.@__tYHIVASTUS = @tYHIVASTUS;
                this.@__lIIK = @lIIK;
                this.@__aLGUSKP = @aLGUSKP;
                this.@__sEADJAPANDIPIDAJA = @sEADJAPANDIPIDAJA;
                this.@__sEOTUDISIKUD = @sEOTUDISIKUD;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected PIIRANGUDType(IPIIRANGUDType @pIIRANGUDType) {
                this.@__tYHIVASTUS = @pIIRANGUDType.TYHIVASTUS;
                this.@__lIIK = @pIIRANGUDType.LIIK;
                this.@__aLGUSKP = @pIIRANGUDType.ALGUSKP;
                this.@__sEADJAPANDIPIDAJA = @pIIRANGUDType.SEADJAPANDIPIDAJA;
                this.@__sEOTUDISIKUD = @pIIRANGUDType.SEOTUDISIKUD;
            }
            
            public virtual string TYHIVASTUS {
                get {
                    return this.@__tYHIVASTUS;
                }
                set {
                    this.@__tYHIVASTUS = value;
                }
            }
            
            public virtual string LIIK {
                get {
                    return this.@__lIIK;
                }
                set {
                    this.@__lIIK = value;
                }
            }
            
            public virtual string ALGUSKP {
                get {
                    return this.@__aLGUSKP;
                }
                set {
                    this.@__aLGUSKP = value;
                }
            }
            
            public virtual string SEADJAPANDIPIDAJA {
                get {
                    return this.@__sEADJAPANDIPIDAJA;
                }
                set {
                    this.@__sEADJAPANDIPIDAJA = value;
                }
            }
            
            public virtual string SEOTUDISIKUD {
                get {
                    return this.@__sEOTUDISIKUD;
                }
                set {
                    this.@__sEOTUDISIKUD = value;
                }
            }
        }
        
        public interface IPIIRANGUDType {
            
            string TYHIVASTUS {
                get;
                set;
            }
            
            string LIIK {
                get;
                set;
            }
            
            string ALGUSKP {
                get;
                set;
            }
            
            string SEADJAPANDIPIDAJA {
                get;
                set;
            }
            
            string SEOTUDISIKUD {
                get;
                set;
            }
        }
    }
}
